package br.com.pizzaria.controller;

//import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
  
  
//import javax.faces.event.ActionEvent;

import br.com.pizzaria.model.Unidade;

@SuppressWarnings({"unchecked","rawtypes"})
@ManagedBean(name="beanUnidade")
@SessionScoped
public class UnidadeBean  implements IMetodos{
	
		Unidade unidade = null;
		
		public UnidadeBean(){
			unidade = new Unidade(); 
		}
		
		public Unidade getSelectedUnidade() {  
	        return unidade;  
	    }
		
		public Unidade getUnidade() {
			return unidade;
		}

		public void setUnidade(Unidade unidade) {
			this.unidade = unidade;
		}
		
		public void destroyWorld(ActionEvent actionEvent){  
	        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "System Error",  "Please try again later.");  
	          
	        FacesContext.getCurrentInstance().addMessage(null, message);  
	    }  
				
		@Override
		public boolean inserir() {			
			DaoHelper dao = new DaoHelper(unidade);
			System.out.println(unidade.getCodigo());
			System.out.println(unidade.getUnidade());
			System.out.println(unidade.getDescricao());
			return dao.inserir();			
		}

		@Override
		public boolean alterar() {
			DaoHelper dao = new DaoHelper(unidade);
			return dao.alterar();
		}

		@Override
		public boolean excluir() {
			DaoHelper dao = new DaoHelper(unidade);
			return dao.excluir();
		}	
		
		@Override
		public List<Unidade> getListar() {
				
			DaoHelper dao = new DaoHelper(unidade);
			
			List<Unidade> lista = new ArrayList<Unidade>();
			List<Unidade> listaRetorno = new ArrayList<Unidade>();
			
			lista = dao.getListar();
			
			for (Unidade unid : lista) {
			   	Unidade nLista = new Unidade();
			   		nLista.setCodigo(unid.getCodigo());
					nLista.setUnidade(unid.getUnidade());				
					nLista.setDescricao(unid.getDescricao());
					listaRetorno.add(nLista);
				}
			return listaRetorno;			
		}          
}
